package com.mjh.zhujianju.service.supervise;

import com.livew.framework.base.service.BaseService;
import com.livew.framework.exception.XTBusinessException;
import com.livew.framework.page.PagedResult;
import com.mjh.zhujianju.model.supervise.SupervisionScheduleEO;

import java.util.List;

public interface SupervisionScheduleService extends BaseService<SupervisionScheduleEO>{

	/**
     * 保存
     * @param vo
     * @throws XTBusinessException
     */
	void saveInfo(SupervisionScheduleEO vo) throws XTBusinessException;

	
	/**
	 * 更新
	 * @param vo
	 * @throws XTBusinessException
	 */
	void updateInfo(SupervisionScheduleEO vo)throws XTBusinessException;


	/**
	 * 查询
	 * @param vo
	 * @throws XTBusinessException
	 */
	SupervisionScheduleEO getInfo(Long id) throws XTBusinessException;


	/**
	 * 查询
	 * @param vo
	 * @throws XTBusinessException
	 */
	PagedResult<SupervisionScheduleEO> getVOPage(SupervisionScheduleEO vo);
	
	/**
	 * 根据督办ID 汇总进度
	 * @param vo
	 * @throws XTBusinessException
	 */
	Integer  getScheduleBySupervisionId (SupervisionScheduleEO eo);

	/**
	 * 根据待办id查询待办进度
	 * @param supervisionId
	 * @return
	 */
	List<SupervisionScheduleEO> getListBySupervisionId(Long supervisionId);

	/**
	 * 根据待办id查询待办进度
	 * @param supervisionIds
	 * @return
	 */
	List<SupervisionScheduleEO> getListBySupervisionIds(List<Long> supervisionIds);

	/**
	 * 根据userid查询进度
	 * @param userId
	 * @return
	 */
	List<SupervisionScheduleEO> getListByUserId(Long userId);

	/**
	 * 根据待办id和userid查询进度
	 * @param supervisionId
	 * @param userId
	 * @return
	 */
	List<SupervisionScheduleEO> getListBySupervisionIdAndUserId(Long supervisionId,Long userId);
}
